Method and system for providing dynamic personalized recommendations for a destination

ABSTRACT

Methods and systems for providing a user with content relevant to a location of interest to the user, when the user is determined to be at or near the location, are presented. The user&#39;s interest in the location may be determined based on queries about the location received from the user prior to the user arriving at the location. The queries received from the user about the location are used to build a location recommendation model, which generates personalized content relevant to the location and to one or more interest verticals identified for the user. The location recommendation model is built using a location recommendation engine that collects data about the user, the queried location, one or more associations between the user, the queried location, and/or one or more other users, as well as various other information related to the user&#39;s interests and the queried location.

CROSS-REFERENCES TO RELATED APPLICATIONS

The present application claims the benefit of priority under 35 U.S.C. §120 as a continuation of U.S. patent application Ser. No. 13/295,477,filed Nov. 14, 2011, which is incorporated by reference herein in itsentirety.

FIELD OF THE INVENTION

The present disclosure generally relates to methods and systems forproviding content to users. More specifically, aspects of the presentdisclosure relate to providing content relevant to a location of a userbased on a prior determination of the user's interest in the location.

BACKGROUND

As transportation options available to individuals continue to expand,an increasing number of destinations are becoming more accessible thanthey once were. Whether planning to travel alone, with family, friends,or colleagues, an individual will often conduct some research about theparticular location that he or she is traveling to. For example, anindividual (hereafter referred to as a “user”) planning a vacation forhis or her family may want to find out certain things about theirdestination in advance, such as recommended hotels, great places to eat,fun activities for children, and the like.

A popular resource for obtaining information about a destination is theInternet, where a user can enter a query or search terms, such as“top-rated hotels in Miami” or “best restaurants in Philadelphia,” andreceive a wealth of relevant content and information in response.Furthermore, a user researching a particular destination will likelyperform several Internet searches, sometimes spreading out thesesearches over a period of time prior to actually arriving at thedestination.

SUMMARY

This Summary introduces a selection of concepts in a simplified form inorder to provide a basic understanding of some aspects of the presentdisclosure. This Summary is not an extensive overview of the disclosure,and is not intended to identify key or critical elements of thedisclosure or to delineate the scope of the disclosure. This Summarymerely presents some of the concepts of the disclosure as a prelude tothe Detailed Description provided below.

One embodiment of the present disclosure relates to a method comprising:receiving at a server from a user, at least one query about a particularlocation; determining that the particular location is different from alocation of the user; responsive to determining that the particularlocation is different from the location of the user, generating a modelfor the particular location based on information extracted from the atleast one query received from the user, the model indicating one or moreassociations between the particular location and at least one interestvertical identified for the user; storing the model generated for theparticular location; receiving data indicating that the user is at ornear the particular location; responsive to receiving the dataindicating that the user is at or near the particular location,generating content relevant to the particular location and the at leastone interest vertical identified for the user based on the model storedfor the particular location; and serving, via a network, the contentrelevant to the particular location and the at least one interestvertical to a user device in a format suitable for presentation on theuser device.

In another embodiment of the disclosure, the method further comprisesidentifying at least one interest vertical for the user based on the atleast one query received about the particular location, and generatingat least one interest vertical map based on the at least one interestvertical identified for the user, the at least one interest vertical mapidentifying associations between the at least one interest vertical andthe particular location.

In another embodiment, the method further comprises: retrieving thecontent relevant to the particular location and the at least oneinterest vertical identified for the user using the model stored for theparticular location; combining the retrieved content and the at leastone interest vertical map generated for the user; and serving, via anetwork, the combined content and the at least one interest vertical mapto a user device in a format suitable for presentation on the userdevice.

In yet another embodiment of the disclosure, the method furthercomprises: receiving a query from the user; determining that thereceived query originated from a location within a specifiedgeographical range of the particular location; and generating dataindicating that the user is at or near the particular location.

In still another embodiment of the disclosure, the method furthercomprises: receiving location data from a user device associated withthe user; identifying a location of the user device based on thereceived location data; and determining that the identified location ofthe user device is within a specified geographical range of theparticular location.

Another embodiment of the present disclosure relates to a systemcomprising at least one processor, and at least one memory storingcomputer-executable instructions that, when executed by the at least oneprocessor, causes the at least one processor to: receive from a user atleast one query about a particular location; determine that theparticular location is different from a location of the user; responsiveto determining that the particular location is different from thelocation of the user, generate a model for the particular location basedon information extracted from the at least one query received from theuser, the model indicating one or more associations between theparticular location and at least one interest vertical identified forthe user; store the model generated for the particular location; receivedata indicating that the user is at or near the particular location;responsive to receiving the data indicating that the user is at or nearthe particular location, generate content relevant to the particularlocation and the at least one interest vertical identified for the userbased on the model stored for the particular location; and serve, via anetwork, the content relevant to the particular location and the atleast one interest vertical to a user device in a format suitable forpresentation on the user device.

In another embodiment, the at least one processor of the system isfurther caused to identify at least one interest vertical for the userbased on the at least one query received about the particular location,and generate at least one interest vertical map based on the at leastone interest vertical identified for the user, the at least one interestvertical map identifying associations between the at least one interestvertical and the particular location.

In still another embodiment, the at least one processor of the system isfurther caused to: retrieve the content relevant to the particularlocation and the at least one interest vertical identified for the userusing the model stored for the particular location; combine theretrieved content and the at least one interest vertical map generatedfor the user; and serve, via a network, the combined content and the atleast one interest vertical map to a user device in a format suitablefor presentation on the user device.

In yet another embodiment, the at least one processor of the system isfurther caused to: receive a query from the user; determine that thereceived query originated from a location within a specifiedgeographical range of the particular location; and generate dataindicating that the user is at or near the particular location.

In another embodiment, the at least one processor of the system isfurther caused to: receive location data from a user device associatedwith the user; identify a location of the user device based on thereceived location data; and determine that the identified location ofthe user device is within a specified geographical range of theparticular location.

Still another embodiment of the present disclosure relates to at leastone non-transitory computer-readable medium storing computer-executableinstructions that, when executed by at least one processor, causes theat least one processor to perform a method comprising: receiving from auser, at least one query about a particular location; determining thatthe particular location is different from a location of the user;responsive to determining that the particular location is different fromthe location of the user, generating a model for the particular locationbased on information extracted from the at least one query received fromthe user, the model indicating one or more associations between theparticular location and at least one interest vertical identified forthe user; storing the model generated for the particular location;receiving data indicating that the user is at or near the particularlocation; responsive to receiving the data indicating that the user isat or near the particular location, generating content relevant to theparticular location and the at least one interest vertical identifiedfor the user based on the model stored for the particular location; andserving, via a network, the content relevant to the particular locationand the at least one interest vertical to a user device in a formatsuitable for presentation on the user device.

In other embodiments of the disclosure, the methods and systemsdescribed herein may optionally include one or more of the followingadditional features: the at least one interest vertical identified forthe user is specific to the particular location, the at least oneinterest vertical identified for the user is further based on one ormore queries received from the user about content other than theparticular location, the retrieved content relevant to the particularlocation and the at least one interest vertical identified for the userincludes at least one of a promotional content item and a web page,and/or the model generated for the particular location is further basedon information extracted from one or more queries received from the userabout content other than the particular location.

Further scope of applicability of the present invention will becomeapparent from the Detailed Description given below. However, it shouldbe understood that the Detailed Description and specific examples, whileindicating preferred embodiments of the invention, are given by way ofillustration only, since various changes and modifications within thespirit and scope of the invention will become apparent to those skilledin the art from this Detailed Description.

BRIEF DESCRIPTION OF DRAWINGS

These and other objects, features and characteristics of the presentdisclosure will become more apparent to those skilled in the art from astudy of the following Detailed Description in conjunction with theappended claims and drawings, all of which form a part of thisspecification. In the drawings:

FIG. 1 is a schematic diagram illustrating an example content generationand presentation system in which various embodiments of the presentdisclosure may be implemented.

FIG. 2 is a block diagram illustrating an example locationrecommendation engine, including incoming data flows and outputgenerated by the location recommendation engine according to one or moreembodiments described herein.

FIG. 3 is a schematic diagram illustrating example data flows between alocation recommendation engine and user devices located at first andsecond locations according to one or more embodiments described herein.

FIG. 4 is a flowchart illustrating an example method for generating alocation recommendation model for a user about a particular location andproviding the user with personalized content relevant to the particularlocation when it is determined that the user is at or near the locationaccording to one or more embodiments described herein.

FIG. 5 is an example user interface that includes location-specificcontent and recommendations according to one or more embodimentsdescribed herein.

FIG. 6 is an example user interface that includes location-specificcontent and one or more user controls for setting alerts andnotifications according to one or more embodiments described herein.

FIG. 7 is a block diagram illustrating an example computing devicearranged for generating and presenting location-specific contentaccording to one or more embodiments described herein.

The headings provided herein are for convenience only and do notnecessarily affect the scope or meaning of the claimed invention.

In the drawings, the same reference numerals and any acronyms identifyelements or acts with the same or similar structure or functionality forease of understanding and convenience. The drawings will be described indetail in the course of the following Detailed Description.

DETAILED DESCRIPTION

Various examples of the invention will now be described. The followingdescription provides specific details for a thorough understanding andenabling description of these examples. One skilled in the relevant artwill understand, however, that the invention may be practiced withoutmany of these details. Likewise, one skilled in the relevant art willalso understand that the invention can include many other obviousfeatures not described in detail herein. Additionally, some well-knownstructures or functions may not be shown or described in detail below,so as to avoid unnecessarily obscuring the relevant description.

Embodiments of the present disclosure relate to techniques, methods andsystems for providing a user with content relevant to a location ofinterest to the user, when the user is determined to be at or near thelocation. In at least some arrangements, the user's interest in thelocation may be determined based on a plurality of queries about thelocation received from the user prior to the user arriving at thelocation. For example, a user who is planning a vacation to a certaindestination may conduct some research on the destination prior toleaving. The user may want to obtain information about recommendedhotels, top-rated restaurants, popular attractions, etc., specific tothe destination to which he or she is traveling. In the followingdescription the terms “location” and “destination” are usedinterchangeably to refer to a physical location or place (e.g., ageographically-defined area or territory such as a state or country, anidentifiable landmark such as Niagara Falls or The Grand Canyon, aspecific commercial entity such as “Disney World,” and the like).

Online or web-based information providers are one type of resource thata user might utilize when performing research on a particulardestination. For example, a user may conduct a search (e.g., using asearch service) by entering one or more search terms, and be provided inreturn with a listing of various websites and/or promotional contentrelated to the search terms. Such data and information searches, whichmay be referred to simply as “queries” for purposes of brevity in thepresent disclosure, may identify a destination of interest to the usermaking the queries. For example, a user may make queries such as“Philadelphia hotels,” “best restaurants in Philadelphia,” “Philadelphiaattractions,” “cheapest airfare to Philadelphia,” and the like. As willbe described in greater detail herein, these example queries may be usedto identify Philadelphia as a location of interest to the user.

Accordingly, one or more embodiments of the disclosure relate to usingqueries received from a user about a location to build (e.g., generate,create, construct, etc.) a location recommendation model for the user.As will be further described below, the location recommendation modelmay be built using a location recommendation engine that collects (e.g.,extracts, receives, etc.) information about the user, the queriedlocation, one or more associations between the user, the queriedlocation, and/or one or more other users, as well as various other datarelated to the user's interests and the queried location.

In at least one embodiment, a location recommendation model may be builtfor a user based on queries made by the user while the user is at afirst location, and the location recommendation model then used togenerate personalized content and recommendations that can be providedto the user while the user is at a second location (e.g., the secondlocation being a location of interest to the user as determined from thequeries made by the user while at the first location). Additionally,queries made by a user may be received (e.g., at a locationrecommendation engine) from any one or more of a variety of user devicesof the user (e.g., belonging to, authorized for use by, or otherwiseassociated with the user), and personalized content and recommendationsprovided to any one or more of the same or different such user devicesfor presentation to the user. Examples of such user devices include adesktop computer, laptop computer, tablet computing device, mobiletelephone, smartphone, as well as numerous other types or variations ofsuch devices similar in nature and/or functionality.

In describing various embodiments and features of the presentdisclosure, reference is sometimes made to “queries received from auser.” It should be understood that in the implementation context,“queries received from a user” means queries received from a device of auser (a “user device”), the device being configured for operation or useby the user. As such, “queries received from a user” and “queriesreceived from a user device” may be used interchangeably at times forpurposes of simplicity.

Additionally, one or more examples provided herein describe determininga location to be of interest to a user based on “queries” received fromthe user. It should be noted that the terms “query” and “queries” arenot in any way intended to limit the scope of the disclosure. Rather,these terms are used herein to collectively describe numerous types ofactions performed by a user online to obtain data and/or informationabout a particular subject, object, topic, interest, etc. Some examplesof a query include a search performed using, for example, a searchengine or search service, a question submitted via a web page, a requestmade in an e-mail, and the like.

In one example, queries may be received (e.g., at a locationrecommendation engine) from a user while the user is at a firstlocation, such as the user's home or permanent location (described ingreater detail below), where the queries are received, for example, viathe user's desktop computer at the first location. According to one ormore embodiments described herein, the queries received via the user'sdesktop computer at the first location may be used to generatepersonalized content and recommendations that can be provided to theuser at a second location via a different device of the user, such asthe user's mobile telephone.

In a scenario where a query made by a user is received via one or moreportable user devices (e.g., laptop computer, mobile telephone, etc.) ofthe user, such a query may be considered as being made from a firstlocation (e.g., the user's home or permanent location) where the one ormore portable user devices of the user are determined to be locatedwithin a geographically-defined area or region associated with the firstlocation at the time the query is made. For example, where a query madeby a user is received (e.g., at a location recommendation engine) fromthe user's mobile telephone, and the mobile telephone is determined tobe located within some geographical boundary defining location “A” atthe time the query was made, then that query can be classified (e.g.,identified, categorized, etc.) as being made by the user at location“A”. As will be described in greater detail herein, the location of auser may be determined (or approximated) using any of a variety oftechniques and/or devices known in the art. For example, in at least oneembodiment, a user's location may be determined using a global positionsystem (GPS) associated with a device of the user, such as the user'smobile telephone.

In some embodiments described herein, a “home” or “permanent” locationmay be assigned to (e.g., identified with, associated with, determinedfor, etc.) a user such that only queries made by the user (and thusreceived from a device of the user) about a location different from theuser's home or permanent location are considered in building a locationrecommendation model for the user. Numerous measurements, bases, and/orfactors can be used in classifying or determining a location as beingdifferent from a user's home location, depending on the implementation.

Additionally, in one or more embodiments, the building of a locationrecommendation model for a user may begin when the user makes at leastone query about a location that is different from the user's currentlocation. For example, if a user who is currently located in SanFrancisco makes a query such as “hotels New York,” and no similar suchquery relevant to New York has previously been made by the user (e.g.,within some predefined period of time, such as the previous two weeks,four weeks, two months, etc.) then this query may initiate the buildingof a location recommendation model for the user about New York (again,assuming that the building of such a model for the user has not alreadystarted).

Depending on the implementation, various thresholds (in addition to orinstead of one (1)) may be used as a minimum number of queries that mustbe received (e.g., at a location recommendation engine) from a userabout a particular location before a location recommendation modelbegins to be constructed for the user about the particular location.Furthermore, in some embodiments of the present disclosure, a locationrecommendation model about a particular location may not begin to bebuilt for a user until a threshold number of queries about theparticular location is received from the user within a given period oftime (e.g., at least two queries received within the same day, at leastfive queries received within one week, at least ten queries receivedwithin a period of two consecutive weeks, etc.).

In at least one embodiment, a user's first query about a locationdifferent from the user's current location that triggers the building ofa location recommendation model for the user about the differentlocation, may be referred to as the first “local query” received fromthe user about this different location. As sometimes used herein, a“local query” means a query about businesses, travel-related topics(e.g., accommodations, transportation, etc.), weather, and the like, fora given location/region/address/area/etc. different from the user'scurrent location.

The present disclosure contains some examples described in the contextof advertisements. An advertisement is an entity (e.g., video, audiofile, image, text, etc.) that presents a piece of information to a userand is designed to be used in whole or in part by the user. Ads can beprovided (e.g., presented) to a user in electronic form, such as bannerads on a web page, as ads presented in a user interface associated withan application (e.g., a third-party application running on a userdevice), as ads presented with search results, as ads presented withe-mails, and the like. Such electronic ads may also contain links toother electronic content including web pages, images, audio files videofiles, etc. Advertisements may also be referred to as “promotionalcontent” or one or more other similar such terms.

It should be noted that the location recommendation model and locationrecommendation engine described herein may each be referred to innumerous other ways in addition to or instead of “locationrecommendation model” and “location recommendation engine,” withoutdeparting from their intended meanings and without limiting any of theirrespective features and/or functionalities. For example, the locationrecommendation model may also be referred to as a “destinationrecommendation model,” “user destination model,” “personalizeddestination tool,” “local content model,” as well as other identifiers,names and labels similar in nature to those mentioned. Irrespective ofthe terms or phrases used to refer to the location recommendation modeland location recommendation engine, in the various embodiments describedherein these features identify a destination of interest to a user,collect/compile data and information about the destination and variousinterests and associations of the user, and provide for display to theuser personalized (e.g., customized) content relevant to thedestination, when the user is determined to be at or near thedestination.

When a user makes a request for online content, such as a web page, avideo/audio clip, a game, or other online resource, one or more contentrequests can be initiated to retrieve the requested content from contentpublishers for presentation to the user on a user device. Examples ofcontent publishers include publishers of web sites, search engines thatpublish search results in response to a query, and numerous othersources or parties that make information and/or experiences availablefor presentation to a user. In some arrangements, one or more additionalitems of content, such as advertisements, may be provided along with therequested content. In one scenario a user may be a member of a socialnetwork comprised of many other users, some of whom share a connectionwith the user or are in one of a variety of relations with the user. Insuch a social network context, a user may recommend or suggest certaincontent, including advertisements, to one or more other social networkusers.

It should be noted that in any of the various scenarios in which themethods or systems described herein collect personal information about auser, the user may be given the option to not have his or her personalinformation collected and/or used in any way. For example, a user may beprovided with an opportunity to opt in/out of programs or features thatmay collect personal information, such as information about the user'sgeographic location, preferences, and the like. Furthermore, certainuser data may be rendered anonymous in one or more ways before beingstored and/or used, such that personally-identifiable information isremoved. For example, a user's identity may be made anonymous so that nopersonally-identifiable information can be determined or collected forthe user. Similarly, a user's geographic location may be generalized insituations where location information is obtained (e.g., limited to acity, zip code, or state level) so that a particular location of a usercannot be determined.

FIG. 1 shows an example content presentation system and surroundingenvironment in which various embodiments described herein may beimplemented. The example system and environment shown includes a userdevice 105 and a location recommendation engine 115, which may be aserver, computer, or the like.

The example environment also includes a network 100, such as a localarea network (LAN), a wide area network (WAN), the Internet, or acombination thereof. The network 100 connects the user device 105 andthe location recommendation engine such that various types of data andinformation can be exchanged or communicated over the network 100. Thenetwork 100 can also connect additional devices and servers (e.g.,server engines) of the same or different type (not shown). The examplesystem also includes a models database 190 and a maps database 195.These and other components of the system and environment shown in FIG. 1will be described in greater detail below.

The user device 105 can be any of a number of different electronicdevices under control of a user and capable of requesting and receivingresources. As used herein, a resource is any data that can be providedover the network 100, and can be identified by a resource addressassociated with the resource. Examples of resources include images,video, HTML pages, content (e.g., words, phrases, images, etc.),embedded information such as meta-information and hyperlinks, and alsoembedded instructions, such as JavaScript scripts. Examples of the userdevice 105 can be one or more personal computers, telephones, personaldigital assistants (PDAs), television systems, etc., that are capable ofsending and receiving data over the network 100. The user device 105 canalso be a portable user device, such as a laptop computer, tabletcomputer, mobile communication device (e.g., cell phone, smartphone),and the like, capable of also sending and receiving data over thenetwork 100.

The user device 105 may include one or more web browser tools 130 forviewing and interacting with web pages via a wired or wireless internetconnection and/or via a mobile data exchange connection such ascellular, optical, near field communication, or some combinationthereof. The web browser 130 may include designated content space 125.The content space 125 may be for the display of various types ofcontent, such as web pages, search results, advertisements, e-mail, andthe like. In at least some embodiments, the user device 105 may alsoinclude a computer processing unit (CPU) 140 and a memory 135.

The user device 105 may also include one or more applications 120, whichin some embodiments may be third-party applications separate from (e.g.,not associated or affiliated with) the location recommendation engine115. These applications 120 can consist of software that runs on theuser device 105 and performs certain functions or tasks for a user, suchas providing user interfaces for messaging services or providingservices related to games, videos, or music. Such an application mayalso be a mobile application consisting of software designed to run on amobile user device, such as a cell phone or smartphone. Some exampletypes of applications include multimedia (e.g., video or audio players,graphic or image viewers, etc.), communication (e.g., news orinformation clients, messaging or e-mail clients, etc.), games,productivity (e.g., calculators, calendars, task managers, etc.), aswell as numerous other categories and types. An application 120contained in the user device 105 may similarly include designatedcontent space 125 for the display of content (e.g., ads) related to theapplication.

Content publishers, such as advertisers, may directly or indirectlysubmit, log, maintain, and utilize information in the locationrecommendation engine 115. For example, content publishers may accessand/or interact with the location recommendation engine 115 via acontent publisher interface (I/F) 155. Additionally, depending on theimplementation, content publishers may be able to access and/or interactwith the location recommendation engine 115 in one or more other ways.

In addition to the content publisher interface 155, the locationrecommendation engine 115 may also include a computer processing unit(CPU) 180, a memory 170, a query processor 110, a user location detector150, a content-serving front-end, user data logs 145, a user verticalbuilder 160, and a location map builder 165.

In at least some embodiments, content publishers provide content items(e.g., advertisements) to the location recommendation engine 115 via thecontent publisher interface 155, and a content serving front-end 175 ofthe location recommendation engine 115, in turn, presents the contentitems as customized content 137 to the user device 105 using variousmethods described in greater detail below. Such customized (e.g.,personalized) content 137 may be provided to the user device 105 inresponse to one or more queries 133 about a particular location beingreceived by the location recommendation engine 115 and a determinationbeing made by, for example, a user location detector 150 that the usersubmitting the queries 133 is at or near the queried location.

The customized content 137 provided to the user device 105 may be in theform of text, images, videos, audio files, as well as content combiningone or more of any such forms. In at least one arrangement,advertisements provided to the user device 105 along with the customizedcontent 137 may be in the form of graphical ads, such as banner ads,audio ads, video ads, still image ads, or any combination of theseforms. Such content comprising the customized content 137 may alsoinclude embedded information or data, including links to one or more webpages, meta-information, and/or machine-executable instructions.

In any of the embodiments of the present disclosure, conventionalcontent and/or ad serving methods and systems may be utilized inconjunction with the various features described herein. Additionally, inat least some embodiments, the location recommendation engine 115identifies one or more candidate content items from the maps database195 and/or user data logs 145, selects a particular combination of thecandidate content items using an associated model from the modelsdatabase 190, and provides the selected combination of content items(e.g., as the customized content 137) to the user device 105 forpresentation to a user. Depending on the implementation, the locationrecommendation engine 115 may conduct an auction to determine which of acertain type of content item (e.g., ads) will be selected forpresentation with the customized content 137.

FIG. 2 illustrates an example location recommendation engine that may beconfigured to receive (e.g., retrieve, extract, collect, etc.) variousdata and/or information, and use such data and/or information togenerate personalized location-relevant content as output to a user. Inat least some embodiments, the location recommendation engine 215 mayreceive at least one local query 233 from a user (e.g., from a userdevice associated with the user, such as the example user device 105shown in FIG. 1). The local query 233 received at the locationrecommendation engine 215 may be the user's first query about a locationdifferent from the user's current location (e.g., as determined by a GPSdevice or other similar user location detecting device such as theexample user location detector 150 shown in FIG. 1) and, depending onthe implementation, may trigger the building of a locationrecommendation model for the user about the different location.

As described above, the local query 233 may be a query about businesses,travel-related topics (e.g., accommodations, transportation, etc.),weather, and the like, for a given location/region/address/area/etc.different from the user's current location. In addition to receiving thelocal query 233, the location recommendation engine 215 may also receivedata and/or information related to one or more of non-location userinterest verticals 205, location-specific user interest verticals 210,social network associations 250, user location data 220, third-partysearch data 225, location-specific advertisements 230, location maps235, and/or vertical maps for a specific location 240. In at least oneembodiment, any or all of these various types of data and informationinputs may be used by the location recommendation engine 215 toconstruct a location recommendation model for the user about aparticular location. In one or more other embodiments of the disclosure,in addition to or instead of being used to construct a locationrecommendation model for the user, any or all of the example data andinformation inputs shown in FIG. 2 may also be used by the locationrecommendation engine 215 to generate personalized content relevant tothe particular location, which may be provided for presentation to theuser when, for example, the user is determined to be at or near theparticular location.

It should be understood that various other data and/or information mayalso be inputs to the location recommendation engine 215 in addition toor instead of the example types and categories of data and informationillustrated in FIG. 2 and described above. Depending on theimplementation, the location recommendation engine 215 may be configuredto receive (e.g., be provided with) certain data and/or information asinputs for use in building a location recommendation model for a userabout a location, and be further configured to retrieve or collectsimilar or different data and/or information for use in generatingpersonalized content relevant to the location to be provided as outputto the user. Furthermore, the location recommendation engine 215 mayreceive some data and information for use in building a locationrecommendation model for a user, and then request additional and/oralternative data and information for use in generating personalizedcontent relevant to the user's determined location of interest.

In one or more embodiments, the location recommendation engine 215 mayuse any or all of the various data and information described above togenerate (e.g., create, assemble, compile, etc.) personalized orcustomized content for presentation to a user (e.g., customized content133 provided to the user device 105 as shown in the example system andenvironment of FIG. 1). In at least the embodiment shown in FIG. 2, thelocation recommendation engine 215 may generate (e.g., using a locationrecommendation model constructed for the user based on the local query233 and/or the example data inputs shown in FIG. 2) as output to beprovided for presentation to the user one or more advertisements 255,web pages 260, maps 265, e-mails 270, alerts/notifications 275, and/orsocial network tools 280. These and other similar types of output areshown in the example user interfaces of FIGS. 5 and 6, which aredescribed in greater detail below. Additionally, it should be understoodthat numerous other types and variations of content may also be outputby the location recommendation engine 215 in addition to or instead ofthe example outputs described above and shown in FIG. 2.

FIG. 3 illustrates example data flows between a location recommendationengine and various user devices at a first and second location accordingto one or more embodiments described herein. Any one or more of exampleuser devices 305 a, 305 b, 305 c, and 305 d may transmit to a locationrecommendation engine 350, via a network 300, one or more queries 330made by a user at a first location (e.g., “Location 1”). Additionally,in at least some embodiments, any one or more of the user devices 305 a,305 b, 305 c, and 305 d may also receive at a second location (e.g.,“Location 2”), from the location recommendation engine 350, customizedcontent 340.

In at least the example diagram shown in FIG. 3, the user devices 305 a,305 b, 305 c, and 305 d may be a desktop computer, tablet computer,mobile telephone, and smartphone, respectively. However, it should beunderstood that numerous other types of user devices capable of sendingand receiving data over a network (e.g., network 100 shown in FIG. 1)may also be one or more of the user devices 305 a, 305 b, 305 c, and 305d in addition to or instead of the examples described above. Thespecific types of user devices described are only illustrative innature, and are in no way intended to limit the scope of the presentdisclosure.

FIG. 4 illustrates an example process for generating a locationrecommendation model for a user about a particular location andproviding the user with personalized content relevant to the particularlocation when it is determined that the user is at or near the location.In at least one embodiment, the process illustrated in FIG. 4 may beperformed by a location recommendation engine (e.g., locationrecommendation engine 115 shown in FIG. 1, which in at least someimplementations is a server).

The process begins at step 400 where at least one query is received froma user about a particular location. As described above, a variety ofactions performed by a user may constitute a “query” for purposes ofdescribing various embodiments of the present disclosure including, forexample, a search performed online using a search engine or searchservice, a question submitted via a web page, a request made in ane-mail, etc. As such, some examples of a query that may be received froma user in step 400 include “hotels New York,” “weather forecast forOrlando,” “Chicago restaurants,” and the like.

Once a query has been received from the user about a particular locationin step 400, the process continues to step 405 where a determination maybe made that the particular location queried about by the user isdifferent from the user's location. For example, it may be determinedthat the query received in step 405, such as “hotels New York,” is froma user who is currently located in San Francisco. In one or moreembodiments, the location of the user considered in step 405 may be theuser's “home” or “permanent” location, which may be a locationpreviously or presently established as such based on an action of theuser (e.g., the user setting or configuring his or her “home” or“permanent” location), on received and/or analyzed data about the user(e.g., data about the location(s) associated with previous queries madeby the user), etc. Additionally, the location of the user may bedetermined using data about the user's location received from any of avariety of user location determination devices (e.g., user locationdetector 150 shown in the example system of FIG. 1). For example, in atleast one embodiment, a user's location may be determined using datareceived from a global position system (GPS) associated with a device ofthe user, such as the user's mobile telephone.

It should be reiterated here that in any of the various scenarios inwhich the process illustrated in FIG. 4 and described in detail hereincollect personal information about the user, the user may be given theoption to not have his or her personal information collected and/or usedin any way. For example, the user may be provided with an opportunity toopt in/out of programs or features that may collect personalinformation, such as information about the user's geographic location,preferences, interests, and the like. Furthermore, certain data aboutthe user may be rendered anonymous in one or more ways before beingstored and/or used, such that personally-identifiable information isremoved. For example, a user's identity may be made anonymous so that nopersonally-identifiable information can be determined or collected forthe user. Similarly, a user's geographic location may be generalized insituations where location information is obtained (e.g., limited to acity, zip code, or state level), such as in steps 410 and 430 of theprocess shown in FIG. 4, so that a particular location of a user cannotbe determined.

After a determination is made in step 405 that the particular locationqueried about is different from the location of the user, the processmoves to step 410 where one or more interest verticals may be identifiedfor the user based on the query received in step 400. In at least someembodiments, the one or more interest verticals may be identified ordetermined for the user in step 410 (e.g., by a user vertical builder ormodule such as user vertical builder 160 shown in the example system ofFIG. 1) based on various other data or information retrieved about theuser in addition to or instead of the received query. For example, inaddition to the received query, interest verticals may be identified forthe user based data and/or information related to previous queries madeby the user about one or more locations other than the particularqueried location, previous queries made by the user unrelated to alocation (e.g., professional baseball, movie premiers, rock climbing,etc.), social network associations and actions (e.g., interest verticalsof the user's friends within a social network), and the like.

In step 415 of the process, a model (e.g., a location recommendationmodel such as that described above with respect to FIG. 2) is generatedfor the user about the particular location based on informationextracted from (e.g., determined from, collected from, gathered from,etc.) the at least one query received from the user. In at least oneembodiment, the model generated in step 415 may indicate one or moreassociations between the particular queried location, the one or moreinterest verticals identified for the user in step 410, one or moreother users in a social network of the user, etc. Furthermore, in someembodiments described herein, the model generated for the user about theparticular location in step 415 may be based on various otherinformation in addition to or instead of the information extracted fromthe received query. For example, the generated model may also be basedon information extracted from one or more queries received (e.g., at alocation recommendation engine such as location recommendation engine115 shown in FIG. 1) from the user about content other than theparticular location.

In at least one embodiment, the generation of the model for the user instep 415 may occur in response to the query received from the user instep 400 being the first query received from the user about theparticular location. For example, if the query received from the user instep 400 is “hotels New York” and no similar query relevant to New Yorkhas previously been received from the user, then such a query mayinitiate the building of the model about New York in step 415.Additionally, in another embodiment the building of the model for theparticular location in step 415 may begin if the query received in step400 is the first such query received from the user within a given periodof time (e.g., previous three days, five days, two weeks, four weeks,two months, etc.).

Furthermore, depending on the implementation, various other thresholdsin addition to or instead of one (1) may be used as a minimum number ofqueries that must be received from the user about a particular locationbefore a model begins to be constructed for the user about theparticular location in step 415 of the process shown in FIG. 4. Forexample, in one or more embodiments, the generation of the model aboutthe particular location in step 415 may occur if the query received instep 400 is the second (or third, fourth, fifth, etc.) such query aboutthe particular location received from the user. For example, if thequery received from the user in step 400 is “hotels New York,” and sucha query is the third query relevant to New York received from the user,then receiving the query in step 400 may trigger the building of a modelfor the user about New York in step 415.

Additionally, in at least one embodiment of the present disclosure, thegeneration of the model about the particular location in step 415 of theprocess may occur in response to determining that the query received instep 400 meets a threshold number of queries received about theparticular location from the user within a given period of time. Forexample, if the query received in step 400 is the second (or third,fourth, fifth, etc.) such query about the particular location receivedfrom the user within the previous week (or previous three days, fivedays, two weeks, four weeks, two months, etc.), then the model for theparticular location may begin to be generated in step 415. It should beunderstood that numerous other received query thresholds and/or timeperiods may also be used in addition to or instead of the examplethresholds and time periods described above.

In step 420 of the process, one or more maps relevant to the particularlocation and/or relevant to the interest verticals identified for theuser may be generated. Some examples of the maps that may be generatedin step 420 include geographic maps that allow a user to navigate his orher way around the particular location, weather maps indicating weatherforecasts, traffic and transportation maps that highlight availabletravel routes and notify a user about traffic alerts or advisories, aswell as numerous combinations of such maps and/or other maps containinga variety of content relevant to the particular location and/or relevantto identified interest verticals of the user.

In step 425 of the process, the model generated in step 415 and any mapsgenerated in step 420 may be stored for later use or retrieval. In atleast one embodiment, the model generated in step 415 may be stored in amodels database (e.g., models database 190 shown in the example systemof FIG. 1) and the map(s) generated in step 420 may be stored in a mapsdatabase (e.g., maps database 195 shown in the example system of FIG.1).

In step 430, a determination is made that the user is at or near theparticular location relevant to the query received from the user in step400. Depending on the implementation, the determination that the user isat or near the particular location may be made using any of the varioustechniques described above with respect to step 410 of the process.

In response to determining that the user is at or near the particularlocation in step 430, in step 435 personalized or customized contentrelevant to the particular location may be generated for the user basedon the model and map(s) stored in step 425. In at least one embodiment,the personalized content generated in step 435 may be in the form of oneor more advertisements, web pages, maps, e-mails, alerts/notifications,social network tools (e.g., advertisements 255, web pages 260, maps 265,e-mails 270, alerts/notifications 275, social network tools 280 as shownin FIG. 2), and/or various other similar types of content relevant tothe location. Some examples of the types of personalized contentgenerated for the user in step 435 are shown in the example userinterfaces of FIGS. 5 and 6, which are described in greater detailbelow.

The process then continues to step 440 where the personalized contentgenerated for the user in step 435 is provided for presentation to theuser. In at least one embodiment, the personalized content generated forthe user may be served, via a network, to a user device (e.g., served bylocation recommendation engine 115 to user device 105 via network 100 asshown in the example system and environment of FIG. 1) in a formatsuitable for presentation on the user device.

FIGS. 5 and 6 illustrate example user interfaces that may be used inimplementing one or more of the features of the various methods andsystems described herein. Various features and components of theillustrative user interface screens presented in FIGS. 5 and 6 aredescribed in the context of an example scenario involving Philadelphia,where Philadelphia is determined to be a location of interest to a user,and where the user may be presented with either or both of the exampleuser interfaces 500 and 600 shown in FIGS. 5 and 6, respectively. Itshould be understood that the particular scenario presented by, and theparticular subject-matter of the content contained in either of theexample user interfaces of FIGS. 5 and 6, as well as the arrangement ofany of the various components comprising the example user interfaces arefor illustrative purposes only, and are not in any way intended to limitthe scope of the present disclosure.

As will be described in greater detail below, some of the componentsincluded in the example user interfaces shown in FIGS. 5 and 6 mayrepresent or be used to implement one or more features of the variousembodiments of the present disclosure. However, numerous othervariations, types, combinations, and arrangements of user interfaces mayalso be used to represent and/or to implement such features in additionto or instead of the example user interfaces shown.

FIG. 5 is an example user interface that includes content andrecommendations relevant to a particular location determined to be ofinterest to a user according to one or more embodiments describedherein.

In at least one embodiment, the example user interface screen 500 may begenerated for a user by a location recommendation engine (e.g., locationrecommendation engine 215 shown in FIG. 2), and may also be based on alocation recommendation model constructed for the user by the locationrecommendation engine. For example, the user interface screen 500 andthe various content contained therein may be based on one or more dataand information inputs retrieved by the location recommendation engineduring construction of a location recommendation model for the user,where such model construction may be in response to the locationrecommendation engine receiving at least one query from the user about aparticular location (e.g., local query 233 shown in FIG. 2) differentfrom the user's current location.

In at least one embodiment, the user interface screen 500 includescontent and recommendations for a particular location 510 determined tobe of interest to a user, represented as “My Places: Philadelphia” inthe illustrative example shown in FIG. 5. The user interface screen 500may also include one or more recommendation maps 515, suggested websites520, and various offers and deals 525 relevant to the particularlocation. Additionally, in one or more embodiments, the user interfacescreen 500 may also include suggested content and/or recommendations ofone or more of the user's friends 530. For example, where the user is amember of a social network, one or more of the user's friends in thesocial network (e.g., connections, acquaintances, relations, etc.) mayhave recommendations relevant to the particular location that they wishto share with the user.

FIG. 6 is an example user interface that includes content relevant to aparticular location determined to be of interest to a user along withone or more user controls for setting alerts and/or notificationsaccording to one or more embodiments described herein.

Similar to the example user interface screen 500 shown in FIG. 5, in atleast one embodiment of the disclosure, the example user interfacescreen 600 may be generated for a user by a location recommendationengine (e.g., location recommendation engine 215 shown in FIG. 2), andmay also be based on a location recommendation model constructed for theuser by the location recommendation engine. For example, the userinterface screen 600 and any of the various content contained thereinmay be based on one or more data and information inputs retrieved by thelocation recommendation engine during construction of a locationrecommendation model for the user. In at least one scenario, suchconstruction of a location recommendation model may be in response tothe location recommendation engine receiving at least one query from theuser about a particular location (e.g., local query 233 shown in FIG. 2)different from the user's current location.

In at least one embodiment, the user interface screen 600 includescontent and various user controls for setting alerts and/ornotifications for a particular location 610 determined to be of interestto a user, represented again as “My Places: Philadelphia” in theillustrative example shown in FIG. 6. The user interface screen 600 mayinclude one or more traffic and/or weather maps 615 and also traveladvisories 620 relevant to the particular location.

Additionally, in one or more embodiments, the user interface screen 600may also include numerous user controls designed to allow the user tosetup various alerts and/or notifications for travel, weather, traffic,and the like, relevant to the particular location of interest. Forexample, the user interface screen 600 may include controls to setupflight delay notifications 625, setup weather reports 645, and also tosetup traffic alerts 655. Furthermore, in at least some embodiments, theuser interface screen 600 may also include various traffic and/orweather alerts created by one or more of the user's friends 630 (e.g.,friends within the context of a social network). For example, one ormore of the user's friends who are located in or near Philadelphia maysetup traffic or weather alerts or advisories that they can then sharewith or otherwise make available to the user.

FIG. 7 is a block diagram illustrating an example computing device 700that is arranged for generating and presenting personalized contentrelevant to a location (e.g., recommendations, advertisements, etc.) toa user or user device in accordance with one or more embodiments of thepresent disclosure. In a very basic configuration 701, computing device700 typically includes one or more processors 710 and system memory 720.A memory bus 730 may be used for communicating between the processor 710and the system memory 720.

Depending on the desired configuration, processor 710 can be of any typeincluding but not limited to a microprocessor (μP), a microcontroller(μC), a digital signal processor (DSP), or any combination thereof.Processor 710 may include one or more levels of caching, such as a levelone cache 711 and a level two cache 712, a processor core 713, andregisters 714. The processor core 713 may include an arithmetic logicunit (ALU), a floating point unit (FPU), a digital signal processingcore (DSP Core), or any combination thereof. A memory controller 715 canalso be used with the processor 710, or in some embodiments the memorycontroller 715 can be an internal part of the processor 710.

Depending on the desired configuration, the system memory 720 can be ofany type including but not limited to volatile memory (e.g., RAM),non-volatile memory (e.g., ROM, flash memory, etc.) or any combinationthereof. System memory 720 typically includes an operating system 721,one or more applications 722, and program data 724. In at least someembodiments, application 722 includes a location recommendationalgorithm 723 that is configured to generate a location recommendationmodel for a user based on various data received about the user (e.g.,data contained in one or more queries made by the user), and use thelocation recommendation model to select one or more content items, suchas web pages or advertisements, to provide to a user device forpresentation to the user. The location recommendation algorithm isfurther arranged to identify candidate content items for presentation toa user and then select from among those candidates one or more contentitems based on information and data associated with the user (e.g., astored location recommendation model, stored interest vertical mapsand/or data, etc.).

Program Data 724 may include location recommendation data 725 that isuseful for generating a location recommendation model for a user, andalso for selecting an item of content (e.g., a web page or anadvertisement) for presentation to the user. In some embodiments,application 722 can be arranged to operate with program data 724 on anoperating system 721 such that a location recommendation model can bebuilt for a user based on data and information collected or receivedabout queries made by the user and identified interest verticals of theuser, and then used to select one or more content items for presentationto the user.

Computing device 700 can have additional features and/or functionality,and additional interfaces to facilitate communications between the basicconfiguration 701 and any required devices and interfaces. For example,a bus/interface controller 740 can be used to facilitate communicationsbetween the basic configuration 701 and one or more data storage devices750 via a storage interface bus 741. The data storage devices 750 can beremovable storage devices 751, non-removable storage devices 752, or anycombination thereof. Examples of removable storage and non-removablestorage devices include magnetic disk devices such as flexible diskdrives and hard-disk drives (HDD), optical disk drives such as compactdisk (CD) drives or digital versatile disk (DVD) drives, solid statedrives (SSD), tape drives and the like. Example computer storage mediacan include volatile and nonvolatile, removable and non-removable mediaimplemented in any method or technology for storage of information, suchas computer readable instructions, data structures, program modules,and/or other data.

System memory 720, removable storage 751 and non-removable storage 752are all examples of computer storage media. Computer storage mediaincludes, but is not limited to, RAM, ROM, EEPROM, flash memory or othermemory technology, CD-ROM, digital versatile disks (DVD) or otheroptical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other medium which canbe used to store the desired information and which can be accessed bycomputing device 700. Any such computer storage media can be part ofcomputing device 700.

Computing device 700 can also include an interface bus 742 forfacilitating communication from various interface devices (e.g., outputinterfaces, peripheral interfaces, communication interfaces, etc.) tothe basic configuration 701 via the bus/interface controller 740.Example output devices 760 include a graphics processing unit 761 and anaudio processing unit 762, either or both of which can be configured tocommunicate to various external devices such as a display or speakersvia one or more A/V ports 763. Example peripheral interfaces 770 includea serial interface controller 771 or a parallel interface controller772, which can be configured to communicate with external devices suchas input devices (e.g., keyboard, mouse, pen, voice input device, touchinput device, etc.) or other peripheral devices (e.g., printer, scanner,etc.) via one or more I/O ports 773. An example communication device 780includes a network controller 781, which can be arranged to facilitatecommunications with one or more other computing devices 790 over anetwork communication (not shown) via one or more communication ports782. The communication connection is one example of a communicationmedia.

Communication media may typically be embodied by computer readableinstructions, data structures, program modules, or other data in amodulated data signal, such as a carrier wave or other transportmechanism, and includes any information delivery media. A “modulateddata signal” can be a signal that has one or more of its characteristicsset or changed in such a manner as to encode information in the signal.By way of example, and not limitation, communication media can includewired media such as a wired network or direct-wired connection, andwireless media such as acoustic, radio frequency (RF), infrared (IR) andother wireless media. The term computer readable media as used hereincan include both storage media and communication media.

Computing device 700 can be implemented as a portion of a small-formfactor portable (or mobile) electronic device such as a cell phone, apersonal data assistant (PDA), a personal media player device, awireless web-watch device, a personal headset device, an applicationspecific device, or a hybrid device that include any of the abovefunctions. Computing device 700 can also be implemented as a personalcomputer including both laptop computer and non-laptop computerconfigurations.

There is little distinction left between hardware and softwareimplementations of aspects of systems; the use of hardware or softwareis generally (but not always, in that in certain contexts the choicebetween hardware and software can become significant) a design choicerepresenting cost versus efficiency tradeoffs. There are variousvehicles by which processes and/or systems and/or other technologiesdescribed herein can be effected (e.g., hardware, software, and/orfirmware), and the preferred vehicle will vary with the context in whichthe processes and/or systems and/or other technologies are deployed. Forexample, if an implementer determines that speed and accuracy areparamount, the implementer may opt for a mainly hardware and/or firmwarevehicle; if flexibility is paramount, the implementer may opt for amainly software implementation. In one or more other scenarios, theimplementer may opt for some combination of hardware, software, and/orfirmware.

The foregoing detailed description has set forth various embodiments ofthe devices and/or processes via the use of block diagrams, flowcharts,and/or examples. Insofar as such block diagrams, flowcharts, and/orexamples contain one or more functions and/or operations, it will beunderstood by those within the art that each function and/or operationwithin such block diagrams, flowcharts, or examples can be implemented,individually and/or collectively, by a wide range of hardware, software,firmware, or virtually any combination thereof.

In one or more embodiments, several portions of the subject matterdescribed herein may be implemented via Application Specific IntegratedCircuits (ASICs), Field Programmable Gate Arrays (FPGAs), digital signalprocessors (DSPs), or other integrated formats. However, those skilledin the art will recognize that some aspects of the embodiments describedherein, in whole or in part, can be equivalently implemented inintegrated circuits, as one or more computer programs running on one ormore computers (e.g., as one or more programs running on one or morecomputer systems), as one or more programs running on one or moreprocessors (e.g., as one or more programs running on one or moremicroprocessors), as firmware, or as virtually any combination thereof.Those skilled in the art will further recognize that designing thecircuitry and/or writing the code for the software and/or firmware wouldbe well within the skill of one of skilled in the art in light of thepresent disclosure.

Additionally, those skilled in the art will appreciate that themechanisms of the subject matter described herein are capable of beingdistributed as a program product in a variety of forms, and that anillustrative embodiment of the subject matter described herein appliesregardless of the particular type of signal-bearing medium used toactually carry out the distribution. Examples of a signal-bearing mediuminclude, but are not limited to, the following: a recordable-type mediumsuch as a floppy disk, a hard disk drive, a Compact Disc (CD), a DigitalVideo Disk (DVD), a digital tape, a computer memory, etc.; and atransmission-type medium such as a digital and/or an analogcommunication medium (e.g., a fiber optic cable, a waveguide, a wiredcommunications link, a wireless communication link, etc.).

Those skilled in the art will also recognize that it is common withinthe art to describe devices and/or processes in the fashion set forthherein, and thereafter use engineering practices to integrate suchdescribed devices and/or processes into data processing systems. Thatis, at least a portion of the devices and/or processes described hereincan be integrated into a data processing system via a reasonable amountof experimentation. Those having skill in the art will recognize that atypical data processing system generally includes one or more of asystem unit housing, a video display device, a memory such as volatileand non-volatile memory, processors such as microprocessors and digitalsignal processors, computational entities such as operating systems,drivers, graphical user interfaces, and applications programs, one ormore interaction devices, such as a touch pad or screen, and/or controlsystems including feedback loops and control motors (e.g., feedback forsensing position and/or velocity; control motors for moving and/oradjusting components and/or quantities). A typical data processingsystem may be implemented utilizing any suitable commercially availablecomponents, such as those typically found in datacomputing/communication and/or network computing/communication systems.

With respect to the use of substantially any plural and/or singularterms herein, those having skill in the art can translate from theplural to the singular and/or from the singular to the plural as isappropriate to the context and/or application. The varioussingular/plural permutations may be expressly set forth herein for sakeof clarity.

While various aspects and embodiments have been disclosed herein, otheraspects and embodiments will be apparent to those skilled in the art.The various aspects and embodiments disclosed herein are for purposes ofillustration and are not intended to be limiting, with the true scopeand spirit being indicated by the following claims.

We claim:
 1. A system to expedite model generation for selection oflocation-based content by a location recommendation engine, comprising:the location recommendation engine executed by at least one processor ofa server, the location recommendation engine comprising a queryprocessor, a vertical builder, and a location detector, the locationrecommendation engine to: receive, via a computer network, a first queryabout a first location input into a web browser of a client devicelocated at a second location different from the first location; extracta first keyword from the first query; identify a first interest verticalfor the client device based on the first keyword extracted from thefirst query by the query processor; receive, via the computer network, asecond query about the first location input into the web browser of theclient device located at the second location; extract a second keywordfrom the second query; identify a second interest vertical for theclient device based on the second keyword; determine, responsive toreception of the first query and the second query, that a number ofreceived queries about the first location is greater than or equal to athreshold number of queries; determine the second location of the clientdevice is different from the first location that the first query and thesecond query are about; generate, prior to arrival of the client deviceat the first location and responsive to the determination that thesecond location is different from the first location and the number ofreceived queries is greater than or equal to the threshold number ofqueries, a model for the first location based on the first interestvertical and the second interest vertical, the model indicating anassociation between the first location and the first interest verticaland the first location and the second interest vertical, wherein themodel for the first location includes queries received about the firstlocation from the second location; detect that the client device is atthe first location and not at the second location; identify, responsiveto detection of the client device at the first location, contentcustomized for the first location and at least one of the first interestvertical and the second interest vertical identified for the clientdevice based on the model stored for the first location; and transmit,to the client device via the computer network, the content in a formatfor presentation via at least one of the web browser or an applicationexecuted by the client device.
 2. The system of claim 1, comprising thelocation recommendation engine to: initiate generation of the model forthe first location prior to the client device arriving at the firstlocation and responsive to the number of received queries is greaterthan or equal to the threshold number of queries.
 3. The system of claim1, comprising the location recommendation engine to: initiate generationof the model for the first location prior to the client device arrivingat the first location and responsive to the number of received queriesis greater than or equal to the threshold number of queries during atime period.
 4. The system of claim 1, comprising the locationrecommendation engine to: initiating, by the location recommendationengine, generation of the model for the first location prior to theclient device arriving at the first location and responsive to receivingat least one query about the first location from the client devicelocated not at the first location.
 5. The system of claim 1, comprisingthe location recommendation engine to: initiate generation of the modelfor the first location prior to the client device arriving at the firstlocation and responsive to receiving at least one query about the firstlocation from the client device located not at the first location duringa predefined period of time.
 6. The system of claim 1, comprising thelocation recommendation engine to: generate an interest vertical mapbased on the first interest vertical and the second interest vertical,the interest vertical map identifying associations between the firstinterest vertical and the second interest vertical and the firstlocation, wherein the first interest vertical and the second interestvertical are specific to the first location.
 7. The system of claim 1,comprising the location recommendation engine to: generate an interestvertical map based on the first interest vertical and the secondinterest vertical, the interest vertical map identifying associationsbetween the first interest vertical and the second interest vertical andthe second location; retrieve the content relevant to the first locationand the first interest vertical and the second interest vertical usingthe model generated for the first location; combine the content and theinterest vertical map; and transmit, via the computer network, thecombined content and the interest vertical map to the client device. 8.The system of claim 1, comprising the location recommendation engine to:generate the model for the first location based on information extractedfrom a third query received from the client device about a thirdlocation different from the first location.
 9. The system of claim 1,comprising the location recommendation engine to: receive a third queryfrom the client device; determine that the third query originated from alocation within a geographical range of the first location; and generatedata indicating that the client device is at the first location.
 10. Thesystem of claim 1, comprising the location recommendation engine to:identify the content customized based on the model stored for the firstlocation to include machine-executable instructions.
 11. A method ofexpediting model generation for selection of location-based content by alocation recommendation engine, comprising: receiving, by a queryprocessor of the location recommendation engine executed by a server,via a computer network, a first query about a first location input intoa web browser of a client device located at a second location differentfrom the first location; extracting, by the query processor, a firstkeyword from the first query; identifying, via a vertical builder of thelocation recommendation engine, a first interest vertical for the clientdevice based on the first keyword extracted from the first query by thequery processor; receiving, by the query processor via the computernetwork, a second query about the first location input into the webbrowser of the client device located at the second location; extracting,by the query processor, a second keyword from the second query;identifying, via the vertical builder, a second interest vertical forthe client device based on the second keyword; determining, by thelocation recommendation engine responsive to receiving the first queryand the second query, that a number of received queries about the firstlocation is greater than or equal to a threshold number of queries;determining, via a location detector of the location recommendationengine, the second location of the client device is different from thefirst location that the first query and the second query are about;generating, by the location recommendation engine prior to the clientdevice arriving at the first location and responsive to determining thatthe second location is different from the first location and the numberof received queries is greater than or equal to the threshold number ofqueries, a model for the first location based on the first interestvertical and the second interest vertical, the model indicating anassociation between the first location and the first interest verticaland the first location and the second interest vertical, wherein themodel for the first location includes queries received about the firstlocation from the second location; detecting, by the location detector,that the client device is at the first location and not at the secondlocation; identifying, by the location recommendation engine responsiveto detecting that the client device is at the first location, contentcustomized for the first location and at least one of the first interestvertical and the second interest vertical identified for the clientdevice based on the model stored for the first location; andtransmitting, by the location recommendation engine to the client devicevia the computer network, the content in a format for presentation viaat least one of the web browser or an application executed by the clientdevice.
 12. The method of claim 11, comprising: initiating, by thelocation recommendation engine, generation of the model for the firstlocation prior to the client device arriving at the first location andresponsive to the number of received queries is greater than or equal tothe threshold number of queries.
 13. The method of claim 11, comprising:initiating, by the location recommendation engine, generation of themodel for the first location prior to the client device arriving at thefirst location and responsive to the number of received queries isgreater than or equal to the threshold number of queries during a timeperiod.
 14. The method of claim 11, comprising: initiating, by thelocation recommendation engine, generation of the model for the firstlocation prior to the client device arriving at the first location andresponsive to receiving at least one query about the first location fromthe client device located not at the first location.
 15. The method ofclaim 11, comprising: initiating, by the location recommendation engine,generation of the model for the first location prior to the clientdevice arriving at the first location and responsive to receiving atleast one query about the first location from the client device locatednot at the first location during a predefined period of time.
 16. Themethod of claim 11, comprising: generating, by the locationrecommendation engine, an interest vertical map based on the firstinterest vertical and the second interest vertical, the interestvertical map identifying associations between the first interestvertical and the second interest vertical and the first location,wherein the first interest vertical and the second interest vertical arespecific to the first location.
 17. The method of claim 11, comprising:generating, by the location recommendation engine, an interest verticalmap based on the first interest vertical and the second interestvertical, the interest vertical map identifying associations between thefirst interest vertical and the second interest vertical and the secondlocation; retrieving, by the location recommendation engine, the contentrelevant to the first location and the first interest vertical and thesecond interest vertical using the model generated for the firstlocation; combining, by the location recommendation engine, the contentand the interest vertical map; and transmitting, via the computernetwork, the combined content and the interest vertical map to theclient device.
 18. The method of claim 11, comprising: generating themodel for the first location based on information extracted from a thirdquery received from the client device about a third location differentfrom the first location.
 19. The method of claim 11, comprising:receiving, by the location recommendation engine, a third query from theclient device; determining that the third query originated from alocation within a geographical range of the first location; andgenerating data indicating that the client device is at the firstlocation.
 20. The method of claim 11, comprising: identifying thecontent customized based on the model stored for the first location toinclude machine-executable instructions.